package com.haixiaoke.smartLock.base;


import com.haixiaoke.domain.SmartLock;

/**
 * 智能锁基础接口
 */
public interface SmartLockBasicsService {

    /**
     * 获取智能锁信息
     */
    String getSmartLock(SmartLock smartLock);

    /**
     * 获取智能锁门卡信息
     */
    String getSmartLockDetails(SmartLock smartLock);

    /**
     * 获取智能锁临时密码权限信息
     */
    String getLockPassword(SmartLock smartLock);

    /**
     * 获取智能锁临时蓝牙权限信息
     */
    String getBluetooth(SmartLock smartLock);

    /**
     * 删除智能锁蓝牙权限
     */
    String deleteBle(SmartLock smartLock);

    /**
     * 新增蓝牙授权信息
     *
     * @param smartLock 蓝牙授权信息
     * @return 结果
     */
    String addBluetooth(SmartLock smartLock);

    /**
     * 新增智能锁指纹授权信息和授权指纹
     *
     * @param smartLock 智能锁指纹授权信息
     * @return 结果
     */
    String addFingerprint(SmartLock smartLock);

    /**
     * 下发指纹信息
     *
     * @param smartLock 智能锁指纹授权信息
     * @return 结果
     */
    String sendFingerprint(SmartLock smartLock);

    /**
     * 删除指纹授权信息
     *
     * @param smartLock 需要删除的智能锁指纹授权信息主键
     * @return 结果
     */
    String deleteFingerprint(SmartLock smartLock);

    /**
     * 生产离线密码
     *
     * @param smartLock@return
     */
    String offlinePassword(SmartLock smartLock);

    /**
     * 远程开锁
     *
     * @param smartLock@return
     */
    String remoteUnlock(SmartLock smartLock);

    /**
     * 智能锁密码授权
     *
     * @param smartLock 智能锁密码授权信息
     * @return 结果
     */
    String addPassword(SmartLock smartLock);

    /**
     * 删除智能锁密码授权信息和删除密码授权
     *
     * @param smartLock@return
     */
    String deletePwd(SmartLock smartLock);

    /**
     * 新增智能锁门卡授权信息
     *
     * @param smartLock 智能锁门卡授权信息
     * @return 结果
     */
    String addCard(SmartLock smartLock);

    /**
     * 删除智能锁门卡授权信息
     *
     * @param smartLock 智能锁门卡授权信息
     * @return 结果
     */
    String deleteCard(SmartLock smartLock);

    /**
     * 查询蓝牙开锁密钥
     * @param smartLock 智能锁门卡授权信息
     * @return
     */
    String getUnlockKey(SmartLock smartLock);

    /**
     * 新增智能锁授权人脸信息
     *
     * @param smartLock 智能锁设备信息
     * @return 结果
     */
    String addFaceImage(SmartLock smartLock);

    /**
     * 删除智能锁授权人脸信息
     *
     * @param smartLock 智能锁设备信息
     * @return 结果
     */
    String deleteFace(SmartLock smartLock);

    /**
     * 获取智能锁授权指令信息
     *
     * @param smartLock 智能锁设备信息
     * @return 结果
     */
    String getTaskList(SmartLock smartLock);
}
